/*
 * Board.h
 *
 *  Created on: 13/06/2014
 *      Author: lucio
 */

#ifndef BOARD_H_
#define BOARD_H_
#include <glibmm/listhandle.h>
#include <gtkmm.h>
#include <vector>
#include "Cell.h"

class Board {
protected:
	Gtk::EventBox* eventBoard;
	Gtk::Fixed* board;
	Gtk::Image* selectedImage;

	Cell* clickedCell;
	std::vector< std::vector <Cell*> > cells;

	int RowCount;
	int ColumnCount;

public:
	void ClearBoard();
	void AddRows(int rowCount, int columnCount);
	void AddColumns(int rowCount, int columnCount);
	void AddBackground(int rowcount, int columnCount);
	void UpdateCellMatrix(int rowCount, int columnCount);
	void PutImageInBoard(int x, int y);
	//Constructores
	Board();
	Board(Glib::RefPtr<Gtk::Builder>& builder);
	virtual ~Board();
	//Metodos
	bool BoardClicked(GdkEventButton* event);
	int getColumnCount() const;
	int getRowCount() const;
	void setColumnCountInc();
	void setRowCountInc();
	void setColumnCountDec();
	void setRowCountDec();
};

#endif /* BOARD_H_ */
